接下來我們將介紹如何串接各種不同通訊軟體的 Contact Point。
Slack 是許多組織都使用的辦公通訊軟體,Slack 的共同創辦人 Stewart Butterfield 也是網路相簿服務 Flickr 的創辦人之一。Flickr 在 2005 年出售給 Yahoo 後,Butterfield 開始計畫開發遊戲產品,並於 2009 年建立了 Tiny Speck,推出網頁遊戲 Glitch。儘管獲得了 1500 萬美元的投資,但最終因遊戲性不佳等原因而失敗。之後,Tiny Speck 將目標轉向商用軟體,並開發通訊軟體 Slack,於 2020 年被知名 CRM 公司 Salesforce 以 277 億美元收購。

Glitch 圖,圖片來源 TechCrunch
Slack Contact Point 可以用 Slack App 發送訊息,分為以下兩種方式:

Slack 通知範例
App 建立與設定方式如下:


chat:write.public 權限,讓 Bot 可以在所有 Channel 發送訊息。如果要附加圖片,則需要同時新增 files:write 權限。更新 Scope 後需重新安裝該 App 才能生效。
如需搭配 Panel 截圖,在預設的圖片處理機制下僅能使用 Bot token,且需要正確設定權限並將 App 加入發送目標的 Channel 中。但由於 Slack 的檔案上傳 API 近期變更,Grafana 最新版本尚未更新,因此此功能暫時失效,相關 PR 正在處理中。

完整可上傳圖片與發送訊息的 Scope
預設的 Template 會將 URL 連結完整列出,如需更簡潔的顯示方式,可參考 Slack Message 的 Formatting。例如使用 <http://www.example.com|This message is a link>,即可顯示為乾淨的超連結。

在訊息內使用 Slack 的 Format

訊息內容的呈現
Line 是由韓國 Naver 集團的日本子公司開發,於 2011 年 6 月發布的通訊軟體,初衷是為了改善當年 311 大地震中家人與朋友之間通訊困難的問題,並設計了「已讀」功能,讓發送者知道對方是否平安並已接收到訊息。2019 年,Naver 與持有 Yahoo! Japan 的 SoftBank 將 Line 與 Yahoo! Japan 合併為 LY Corporation 單一個公司。
根據 NCC 112 年通訊傳播市場報告統計,台灣民眾擁有 Line 帳號的比率高達 97.7%。雖然在辦公中使用 Line 並不明智,但有時仍需串接 Line 通知。在 Grafana 中可以使用 Line Notify 進行串接。

Line 通知範例
Notify 的設定步驟如下:
Telegram 是於 2013 年推出的通訊軟體,2024 年 7 月全球活躍人數已達 9.5 億,主打高度安全性並提供豐富的 API 和開發自由度。Telegram 的創辦人為俄羅斯的杜洛夫兄弟,他們先前創辦了俄羅斯最大的社群軟體 VKontakte,但因社群軟體的高度政治風險,最終被迫出售股份,並轉而開發 Telegram 並離開俄羅斯。

Telegram 通知範例
Telegram 有完整的 Bot 功能,設定步驟如下:
bot 作為結尾。
https://web.telegram.org/a/#-4266674385,Chat ID 為 -4266674385。
Telegram Contact Point 支援上傳圖片功能,開啟截圖設定後將自動附加在訊息中。

如需對通知內容進行客製化,可使用 HTML 格式設定文字,詳細說明請參考 官方文件。

Telegram 支援 HTML 格式顯示文字

也可以設定 HTML 的 <a> 標籤連結

如果設定的 URL 可以被 Telegram 解析,就會顯示為超連結;若是 localhost 則會被視為無效連結而無法連結。
Alert 範例網址:https://github.com/blueswen/grafana-zero-to-hero/tree/main/06-alerting/01-alert-rules
因 Contact Point 需設定大量 Token 參數,可使用前一篇的範例設定,再自行建立 Contact Point,複製 Provisioning 的 Alert 後套用新的 Contact Point。